#pragma once
#include "DVRCommonPCH.h"

namespace hiveDVR
{
	class CTransform
	{
	public:
		CTransform() = default;
		~CTransform() = default;

		glm::mat4 update(const glm::vec3& vTranslationFactor, const glm::vec3& vScalingFactor, const glm::vec2& vRotationFactor);

	private:
		glm::mat4 m_Matrix = glm::mat4(1.0f);

		glm::mat4 __updateTranslation(const glm::vec3& vTranslationFactor);
		glm::mat4 __updateScaling(const glm::vec3& vScalingFactor);
		glm::mat4 __updateRotation(const glm::vec2& vRotationFactor, float vRotationSpeed = glm::radians(1.0f));
	};
}
